This invention relates generally to computerized data terminals. The term "Computerized Data Terminal" as used herein includes various microprocessor controlled data processing apparatus. The invention is advantageously applied to a type of computerized data processing and communication apparatus known as portable data collection terminals. These units are typically self-contained, are battery powered and are either batch processing units, hence intermittently linked, or are primary communication units linked on a real time basis to a major business information system. The data collection terminals are the "tentacles" of such a business information system, the system relying on data interchange through a relatively large number of these data collection terminals for real time transactions, inventory, marketing activity, route delivery or other pertinent business information.
Starting on a premise of a direct relationship between the commercial success of such data collection terminals and their application in a number of different business systems, the success of the terminals seems to depend on the adaptability of the data collection terminals to a relatively large number of specifically tailored application formats. Adapting to a variety of different systems has been found, however, to generally increase the cost of the terminals. As a result of cost reduction efforts, modularity concepts have been implemented in some instances. Data collection terminals are adapted to a special use by composing them from a number of standard modules, and providing certain specialized modules which are compatible with standard base modules. The use of common modules and only a limited use of special function modules tends to contain costs while allowing more dedicated uses for the data collection terminals. The present invention seeks to increase the functional adaptability of data terminals by further streamlining the physical assembly of data terminals with a greater commonality of parts, while increasing adaptability of the data terminals to distinct operating requirements. The present invention also provides a simple mechanism for repairing or updating microprocessor control instructions, or programs in general, which are resident within data terminals.
Electrically programmable and erasable, hence reprogrammable Read Only Memory (ROM) devices, such as memory devices known as "flash memory" or flash ROM devices, are known in the art. These data storage devices have found use in personal computers. Known advantages are the ability to perform updating or reprogramming operations on resident microprocessor control programs. In the past, microprocessor start-up logic instructions and, more generally, control programs typically resided in ROM. If a programming error was found in the microprocessor start-up instructions or ROM resident control programs, the ROM device had to be physically replaced with a corrected device. Repair typically required affected units to be returned to a repair shop.
Recent advances in the art of reprogrammable flash ROM has brought about a practice of using such reprogrammable ROM at address locations which are initially addressed by the microprocessor during start-up and also those at which control programs for the microprocessor are routinely stored. This locates the start-up instructions for the microprocessor in reprogrammable flash ROM locations rather than in typically permanent ROM. Information input devices, such as magnetic disk drives or, more recently, memory card connection devices may be used to update memory resident microprocessor control programs to change or correct earlier versions thereof. Consequently, updates to the control programs, even updates to the start-up instructions for the microprocessor, may be made in the field, at user locations, without physically replacing ROM devices.
To implement a change in the control code according to known practice, the computer would be started normally, using the start-up instructions and control code as they currently reside in reprogrammable memory such as in flash ROM, for example. A reprogramming program would be read into read-write Random Access Memory (RAM). The reprogramming program may provide microprocessor control instructions as needed or may cause needed control code to be written into RAM and cause microprocessor control code request to be read from those particular RAM locations rather than from the flash memory. The reprogramming program then causes updated start-up or control program code to be stored into the original flash ROM resident memory locations assigned to the start-up instructions or other control code. After shut-down of the microprocessor device, a subsequent start-up and operation of the microprocessor takes place under the updated code.
The described control code updating routine has a significant disadvantage. Any malfunction while programming the updated start-up instructions or other control code may prevent the microprocessor on a subsequent power up routine from becoming operational, rendering the data terminal inoperative. Even the reprogramming program which would normally cause corrected code to be loaded into the flash ROM may not run in the absence of a functional microprocessor device. Thus, even though an affected terminal contains reprogrammable ROM, it cannot be accessed to be reprogrammed or repaired. Only physical replacement of the memory with a pre-programmed replacement memory device would restore the affected data terminal to service.
In an attempt to overcome the described risk of failure, data terminals with reprogrammable flash ROM to store start-up and system code have been provided with masked or permanent ROM devices which contain an alternate start up code and a control program to reprogram the reprogrammable flash memory device with start-up and control code. The added ROM provides a solution to the problem presented by an inadvertent destruction of the start-up sequence. However, the additional ROM only increases space and cost problems, particularly with respect to comparatively compact, hand-held or portable computerized data units which are also referred to as data collection terminals. These latter terminals are desirably compact and lightweight, in that they are carried about in warehouses, in shipping yards, at point of sale locations, and so forth. In addition to adding cost and using space, the always included, permanent ROM is permanently programmed with a reprogramming program which is itself inflexible and consequently lacks an adaptability to change.
It is desirable to provide a data terminal which overcomes the above-described shortcomings in existing computerized data terminals.